웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > db

[DB] Nodejs MongoDB에서 모든 도큐먼트 개수 가져오기, count

Last Modified : 2022-07-17 / Created : 2022-06-23
3,844
View Count
MongoDB에서 컬렉션의 개수를 얻기 위한 방법을 알아보려고 합니다. 참고로 오랫동안 Database를 조회할 때 count()를 사용해왔었습니다.

하지만!! 계속해서 count() 문법이 최근 MongoDB 버전에서 Deprecated 되었기에 아직 사용 가능함에도 불구하고 모두 제거하고 새로운 문법으로 변경하였습니다. 바로 countDocuments()입니다. 이를 적용하는 방법과 예제를 간략하게 알아봅니다.



! MongoDB 컬렉션 개수 얻기, countDocuments

우선 countDocuments는 NodeJS 뿐만 아니라 Python에서도 동일하게 사용하고 봐왔던 문법입니다. 방법은 간단한데 먼저 이 전의 count() 문법을 알아보면 아래와 같습니다.
// 기존 문법
const totalCount = collection.find(Query).count()

위 코드는 totalCount 변수에 쿼리문을 적용한 컬렉션의 개수를 얻기 위해서 사용하였습니다. count()는 이 전 문법이니 당연히 경고 메시지가 나타날 것입니다. 이제 이 문법을 countDocuments()를 사용하여 다시 작성하여 보겠습니다.
// 새로운 문법
const totalCount = countDocuments(Query, Options)

특별히 달라진 부분은 없습니다. 다만 find()를 사용하고 count() 메소드를 적용하는 이 전의 코드와 달리 countDocuments()만 사용하므로 더 간단하게 개수를 얻을 수 있게되었습니다. 여기서 query, options는 각각 적용할 쿼리문과 옵션입니다.

간단하게 실제로 예제를 만들어보면 다음과 같은 코드가 작성되겠습니다.
const database = client.db('myDatabase')
const collection = database.collection('myCollection')
const query = {}
const totalCount = collection.countDocuments(query)

코드 작성이 끝났습니다. 이제 변수 totalCount는 컬렉션에서 얻은 개수를 저장하게 됩니다.


여기까지 MongoDB countDocuments()를 간략하게 알아보았습니다.

Previous

MySQL에서 테이블 컬럼의 타입 변경하기, text